Responsibilities and rewards: Reasoning about design patterns
نویسندگان
چکیده
Design patterns provide guidance to system designers on how to structure individual classes or groups of classes, as well as constraints on the interactions between these classes, to enable them to implement flexible and reliable systems. Patterns are usually described informally. While such informal descriptions are useful and even essential, if we want to be sure that designers precisely and unambiguously understand the requirements that must be met when applying a given pattern, and be able to reliably predict the behaviors the resulting system will exhibit, we also need formal characterizations of the patterns. In this paper, we develop an approach to formalizing design patterns. The requirements that a designer must meet with respect to the structures of the classes, as well as with respect to the behaviors exhibited by the relevant methods, are captured in the responsibilities component of the pattern’s specification; the benefits that will result by applying the pattern, in terms of specific behaviors that the resulting system will be guaranteed to exhibit, are captured in the rewards component. One important aspect of many design patterns is their flexibility; our approach is designed to ensure that this flexibility is retained in the formalization of the pattern. We illustrate the approach by applying it to a standard design pattern.
منابع مشابه
The Effect of Bayesian Reasoning Training on the Results of Clinical Reasoning Tests of Interns
Introduction: Clinical reasoning includes a range of thinking about clinical medicine at all stages of patient evaluation. Bayesian theory can be used to refute or confirm differential diagnoses in the clinical reasoning process. In this way, by learning the basic mathematical language of probability in medicine, we can change our beliefs according to new evidence. The aim of this study is to i...
متن کاملCyclic Game Dynamics Driven by Iterated Reasoning
Recent theories from complexity science argue that complex dynamics are ubiquitous in social and economic systems. These claims emerge from the analysis of individually simple agents whose collective behavior is surprisingly complicated. However, economists have argued that iterated reasoning--what you think I think you think--will suppress complex dynamics by stabilizing or accelerating conver...
متن کاملA Design Framework for Wireless Sensor Networks
Wireless sensor networks (sensornets) are wirelessly communicating smart gadgets with the capability of sensing the environment. With the immense applicability of sensornets, there is an increasing need of a general organisational and architectural development framework for sensornet systems. This paper outlines an abstract framework for modelling responsibilities and tasks to sets of nodes acc...
متن کاملThe Association Between Parental Behavior Patterns and the Dietary Intake of Preschool Children in Tehran Kindergartens
Background and Objectives: This study was designed to investigate the association between parental behavior and the dietary intake of Tehranian preschool children aged 2-6 years. Materials and Methods: In a cross-sectional study conducted on 310 children aged 2-6 years from the kindergartens of 22 districts of Tehran, a qualitative validated 85-item food frequency questionnaire was completed b...
متن کاملDesign Pattern Matching
Since the beginning of software development re-usability has been an important aspect. Applying reusable elements the software does not have to be developed from scratch, proved solutions can shorten the software development life cycle and make applications safer. There are several forms of re-usability like function libraries, class libraries, design patterns, component technologies and enterp...
متن کامل